﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using DTO;

namespace DAO
{
    public class TheCaoDAO
    {
        public static List<TheCaoDTO> DanhSachTheCao()
        {
            DataTable dataTable = DataProvider.ExecuteReader("usp_DanhSachTheCao");
            List<TheCaoDTO> listTheCaoDTO = new List<TheCaoDTO>();
            if (dataTable.Rows.Count > 0)
            {
                foreach (DataRow dataRow in dataTable.Rows)
                {
                    TheCaoDTO theCaoDTO = new TheCaoDTO();
                    theCaoDTO.MaSanPham = (int)dataRow["MaSanPham"];
                    theCaoDTO.SoTheCao = dataRow["SoTheCao"].ToString(); ;
                    theCaoDTO.SoSeri = dataRow["SoSeri"].ToString();
                    theCaoDTO.DonGia = float.Parse(dataRow["DonGia"].ToString());
                    theCaoDTO.MenhGia = int.Parse(dataRow["MenhGia"].ToString());
                    theCaoDTO.MaNhaMang = (int)dataRow["MaNhaMang"];
                    theCaoDTO.TinhTrang = dataRow["TinhTrang"].ToString();
                    listTheCaoDTO.Add(theCaoDTO);
                }
            }
            else
            {
                listTheCaoDTO = null;
            }
            return listTheCaoDTO;
        }
       
        public static bool ThemTheCao(TheCaoDTO theCaoDTO)
        {
            List<SqlParameter> sqlParamas = new List<SqlParameter>();
            sqlParamas.Add(new SqlParameter("@SoTheCao", theCaoDTO.SoTheCao));
            sqlParamas.Add(new SqlParameter("@SoSeri", theCaoDTO.SoSeri));
            sqlParamas.Add(new SqlParameter("@DonGia", theCaoDTO.DonGia));
            sqlParamas.Add(new SqlParameter("@MenhGia", theCaoDTO.MenhGia));
            sqlParamas.Add(new SqlParameter("@MaNhaMang", theCaoDTO.MaNhaMang));
            return DataProvider.ExecuteNoneQuery("usp_ThemTheCao", sqlParamas);
        }

        public static bool CapNhatTheCao(TheCaoDTO theCaoDTO)
        {
            List<SqlParameter> sqlParamas = new List<SqlParameter>();
            sqlParamas.Add(new SqlParameter("@MaSanPham", theCaoDTO.MaSanPham));
            sqlParamas.Add(new SqlParameter("@SoTheCao", theCaoDTO.SoTheCao));
            sqlParamas.Add(new SqlParameter("@SoSeri", theCaoDTO.SoSeri));
            sqlParamas.Add(new SqlParameter("@DonGia", theCaoDTO.DonGia));
            sqlParamas.Add(new SqlParameter("@MenhGia", theCaoDTO.MenhGia));
            sqlParamas.Add(new SqlParameter("@MaNhaMang", theCaoDTO.MaNhaMang));
            sqlParamas.Add(new SqlParameter("@TinhTrang", theCaoDTO.TinhTrang));
            return DataProvider.ExecuteNoneQuery("usp_CapNhatTheCao", sqlParamas);
        }
        public static TheCaoDTO DanhSachTheCao(int MenhGia, int MaNhaMang)
        {
            List<SqlParameter> sqlParamas = new List<SqlParameter>();
            sqlParamas.Add(new SqlParameter("@MaNhaMang", MaNhaMang));
            sqlParamas.Add(new SqlParameter("@MenhGia", MenhGia));
            DataTable dt = new DataTable();
            dt = DataProvider.ExecuteReader("usp_TheCao_Mua", sqlParamas);
            TheCaoDTO tc = new TheCaoDTO();
            if (dt.Rows.Count > 0)
            {
                DataRow dtRow = dt.Rows[0];
                tc.MaNhaMang = int.Parse(dtRow["MaNhaMang"].ToString());
                tc.MaSanPham = int.Parse(dtRow["MaSanPham"].ToString());
                tc.MenhGia = int.Parse(dtRow["MenhGia"].ToString());
                tc.SoSeri = dtRow["SoSeri"].ToString();
                tc.SoTheCao = dtRow["SoTheCao"].ToString();
                tc.TinhTrang = dtRow["TinhTrang"].ToString();
            }
            else
            {
                tc = null;
            }
            return tc;

        }

        public static TheCaoDTO ThongTinTheCao(int maSanPham)
        {
            List<SqlParameter> sqlParamas = new List<SqlParameter>();
            sqlParamas.Add(new SqlParameter("@MaSanPham", maSanPham));
            DataTable dataTable = DataProvider.ExecuteReader("usp_ThongTinTheCao", sqlParamas);
            TheCaoDTO theCaoDTO = new TheCaoDTO();
            if (dataTable.Rows.Count > 0)
            {
                DataRow dataRow = dataTable.Rows[0];
                theCaoDTO.MaSanPham = (int)dataRow["MaSanPham"];
                theCaoDTO.SoTheCao = dataRow["SoTheCao"].ToString(); ;
                theCaoDTO.SoSeri = dataRow["SoSeri"].ToString();
                theCaoDTO.DonGia = float.Parse(dataRow["DonGia"].ToString());
                theCaoDTO.MenhGia = int.Parse(dataRow["MenhGia"].ToString());
                theCaoDTO.MaNhaMang = (int)dataRow["MaNhaMang"];
                theCaoDTO.TinhTrang = dataRow["TinhTrang"].ToString();

            }
            else
            {
                theCaoDTO = null;
            }
            return theCaoDTO;
        }
    }
}
